x86/nmi: fix shootdown of pcpus running in VMX non-root mode
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 11 Feb 2015 16:18:27 +0000 (17:18 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 11 Feb 2015 16:18:27 +0000 (17:18 +0100)
commitcbeeaa7da01bfa37c1fcdfe79e8f4f1400262ccb
treef05ad31396499fab61c52c0d0f32f6ba3c247a2a
parent52956401df7497f3f51e3bd164ce2bb0a5cc2ee1
x86/nmi: fix shootdown of pcpus running in VMX non-root mode

c/s 7dd3b06ff "vmx: fix handling of NMI VMEXIT" fixed one issue but
inadvertently introduced a regression when it came to the NMI shootdown.  The
shootdown code worked by patching vector 2 in each IDT, but the introduced
direct call to do_nmi() bypassed this.

Instead of patching each IDT, take a different approach by updating the
existing dispatch table.  This allows for the removal of the remote IDT
patching and the removal of the nmi_crash() entry point.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/crash.c
xen/arch/x86/x86_64/entry.S
xen/include/asm-x86/processor.h